// P3293 write by cn_ryh